Digital representations of the earth's surface—particularly though not exclusively in urban areas—are useful in a variety of applications. By way of example, representative applications of three-dimensional (3D) city models include but are not limited to navigation systems, intelligent transportation systems, urban planning, enhanced city visualization (e.g. virtual tours, tourism, etc.), noise modeling, thermographic building inspections, and the like.
One type of 3D city model is based on a photo mesh. In the field of computer graphics, a “mesh” refers to a collection of elements—for example, vertices, edges, and faces—that together define the structural shape of a polyhedral object (e.g., a building). A “photo mesh” may be derived from a mesh by mapping texture (e.g., color, etc.) onto the faces of the mesh to provide a photorealistic scene.
In constructing a photo mesh, the aerial image of an area of interest is first acquired from multiple angles. The aerial images thus obtained are then processed using a computer vision algorithm in a technique known as 3D reconstruction. Since the aerial images are acquired at certain times of the day, the images themselves are static and may contain various features that are fixed, such as light, shadows, weather conditions, and the like. The shadows present in the aerial images will likewise be present in the 3D model derived from the aerial images. The presence of these shadows in a 3D photo mesh may be problematic, especially if a scene is to be re-rendered with a different light source (e.g., to depict a scene at a different time of day than the time at which the aerial images were acquired). Ideally, in order to render a more realistic scene, the shadow in the photo mesh should be removed prior to relighting a scene. However, there is no method to remove shadows from 3D photo meshes. Rather, the field of computer vision focuses instead on 2D images in which shadow regions may be detected based on various metrics. Such techniques based on 2D structures of a scene may be inaccurate and unreliable.